package com.itheima;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtils;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;

import java.awt.*;
import java.io.File;

/**
 * @author wmh
 * @version 1.0 2022/6/6
 * @Description: 折线图
 **/
public class JFreeCharDemo2 {
    //需求：统计每个部门的人员
    public static void main(String[] args) throws Exception {
        //1.准备数据：技术部 180 销售部 20 人事部10
        //创建数据集
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        //设置值，x轴，分类，y轴
        dataset.addValue(20,"开发部","2011年");
        dataset.addValue(25,"开发部","2012年");
        dataset.addValue(26,"开发部","2013年");
        dataset.addValue(28,"开发部","2014年");
        dataset.addValue(8,"销售部","2011年");
        dataset.addValue(5,"销售部","2012年");
        dataset.addValue(9,"销售部","2013年");
        dataset.addValue(10,"销售部","2014年");
        dataset.addValue(2,"人事部","2011年");
        dataset.addValue(1,"人事部","2012年");
        dataset.addValue(3,"人事部","2013年");
        dataset.addValue(1,"人事部","2014年");
        //处理中文乱码--设置主题
        StandardChartTheme cn = new StandardChartTheme("CN");
        //设置大标题字体
        cn.setExtraLargeFont(new Font("华文宋体",Font.BOLD,20));
        //设置图例字体
        cn.setRegularFont(new Font("华文宋体",Font.BOLD,15));
        //设置内容x,y轴
        cn.setLargeFont(new Font("华文宋体",Font.BOLD,15));
        ChartFactory.setChartTheme(cn);
        //大标题，X轴说明，Y轴说明，数据集
        JFreeChart chart = ChartFactory.createLineChart("公司人数", "年份", "入职人数", dataset);
        //存放位置,根据谁生成，宽，高
        ChartUtils.saveChartAsJPEG(new File("d://chart4.png"),chart,400,300);
    }
}